#!/bin/sh

# 工作路径
g_workPath=$(cd `dirname \$0`; pwd -P)
cd $g_workPath

. $g_workPath/script/func.sh
. $g_workPath/.env

help() {
	cat << EOF
用法: ./ctrl [选项]
可用选项:
	init			初始化容器部署文件(端口转发), 没有执行 private 之前
	init private	初始化容器部署文件(nginx 代理)
	init public		还原容器部署文件为(端口转发)
	save			备份容器的数据卷(备份在 backup/<数据卷名称>.tar.gz)
	save <备份名称>	备份容器的数据卷(备份在 backup/<备份名称>.tar.gz)
	load			还原备份容器的数据卷(备份在 backup/<数据卷名称>.tar.gz)
	load <备份名称>	还原备份容器的数据卷(备份在 backup/<备份名称>.tar.gz)
	sql <sql语句>	执行 sql 语句
EOF
}

init() {
	# 创建卷
	echo "----- create volume ------"
	mkVolume "vol-mysqld"

	checkFileExist $g_workPath/config_3306/config-file.cnf
	if [ $? == 1 ]
	then 
		succEcho 'success'
	fi
}

sql() {
	local sql="mysql -uroot -p$MYSQL_ROOT_PASSWORD -e '$1'"

	docker compose exec -it mysqld /bin/sh -c "$sql"
}

case $1 in
	init)
		. ./script/init.sh "$2"
		init
		;;
	save)
		. ./script/save.sh vol-mysqld "$2"
		;;
	load)
		. ./script/load.sh vol-mysqld "$2"
		;;
	sql)
		sql "$2"
		;;
	*)
		help
		;;
esac	
